Simple Moving Average CrossoverThis Pine Script is a TradingView script for creating a technical analysis indicator known as a Simple Moving Average Crossover (SMAC). The script visualizes two moving averages on a chart and provides buy and sell signals based on the crossover of these moving averages.
Here's a breakdown of the script:
Input Parameters:
fastLength: The length of the fast/simple moving average.
slowLength: The length of the slow/simple moving average.
Moving Averages Calculation:
fastMA: Calculates the simple moving average with a length of fastLength using the closing prices.
slowMA: Calculates the simple moving average with a length of slowLength using the closing prices.
Plotting:
Plots the fast and slow moving averages on the chart using different colors.
Buy and Sell Signals:
buySignal: Generates a boolean series indicating a buy signal when the fast moving average crosses above the slow moving average.
sellSignal: Generates a boolean series indicating a sell signal when the fast moving average crosses below the slow moving average.
Plotting Signals:
Plots green triangle-up shapes below price bars for buy signals.
Plots red triangle-down shapes above price bars for sell signals.
In summary, this script helps traders visualize potential trend reversals by identifying points where a shorter-term moving average crosses above (buy signal) or below (sell signal) a longer-term moving average. These crossover signals are often used in trend-following strategies to capture potential changes in market direction. Traders can customize the script by adjusting the input parameters to suit their trading preferences.
חפש סקריפטים עבור "THE SCRIPT"
IU SIP CALCULATORHow This Indicator Script Works:
1. This indicator script calculate the monthly SIP returns of any market over any user defined period.
2. SIP stands for Systematic Investment Plan. It is a way to invest in any asset by regularly investing a fixed amount of money at regular intervals for example Monthly, Weekly, Quarterly etc.
3. This indicator Calculate the following
# Average buy price
# Total quantity hold
# Yearly returns
# Monthly returns
# Total invested amount
# Total profits in amount
# Total portfolio value
# Total returns in per percentage term.
4. This script takes monthly SIP amount, starting month, starting year, ending year, ending month from the user and store the value for calculations.
5. After that it store the open price of every month into an array then it average the array and compare that price with the last month close price.
6. on the bases of this it performs all of the calculations.
7. The script plot every calculation into an table from.
8. It requires monthly chart timeframe for working.
9. The table is editable user can change the color and transparency.
How User Can Benefit From The Script:
1. User can get the past monthly SIP returns of any market he wants to invest this will give him an overview about what to expect from the market.
2. Once user understand the expected returns from the market he can adjust his investment strategy.
3. This help the user to Analyse various stocks and their past performance.
4. User can also short list the best performed stocks.
5. Over all this script will give complete SIP vision of any market.
Oscillator Workbench — Chart [LucF]█ OVERVIEW
This indicator uses an on-chart visual framework to help traders with the interpretation of any oscillator's behavior. The advantage of using this tool is that you do not need to know all the ins and outs of a particular oscillator such as RSI, CCI, Stochastic, etc. Your choice of oscillator and settings in this indicator will change its visuals, which allows you to evaluate different configurations in the context of how the workbench models oscillator behavior. My hope is that by using the workbench, you may come up with an oscillator selection and settings that produce visual cues you find useful in your trading.
The workbench works on any symbol and timeframe. It uses the same presentation engine as my Delta Volume Channels indicator; those already familiar with it will feel right at home here.
█ CONCEPTS
Oscillators
An oscillator is any signal that moves up and down a centerline. The centerline value is often zero or 50. Because the range of oscillator values is different than that of the symbol prices we look at on our charts, it is usually impossible to display an oscillator on the chart, so we typically put oscillators in a separate pane where they live in their own space. Each oscillator has its own profile and properties that dictate its behavior and interpretation. Oscillators can be bounded , meaning their values oscillate between fixed values such as 0 to 100 or +1 to -1, or unbounded when their maximum and minimum values are undefined.
Oscillator weight
How do you display an oscillator's value on a chart showing prices when both values are not on the same scale? The method I use here converts the oscillator's value into a percentage that is used to weigh a reference line. The weight of the oscillator is calculated by maintaining its highest and lowest value above and below its centerline since the beginning of the chart's history. The oscillator's relative position in either of those spaces is then converted to a percentage, yielding a positive or negative value depending on whether the oscillator is above or below its centerline. This method works equally well with bounded and unbounded oscillators.
Oscillator Channel
The oscillator channel is the space between two moving averages: the reference line and a weighted version of that line. The reference line is a moving average of a type, source and length which you select. The weighted line uses the same settings, but it averages the oscillator-weighted price source.
The weight applied to the source of the reference line can also include the relative size of the bar's volume in relation to previous bars. The effect of this is that the oscillator's weight on bars with higher total volume will carry greater weight than those with lesser volume.
The oscillator channel can be in one of four states, each having its corresponding color:
• Bull (teal): The weighted line is above the reference line.
• Strong bull (lime): The bull condition is fulfilled and the bar's close is above the reference line and both the reference and the weighted lines are rising.
• Bear (maroon): The weighted line is below the reference line.
• Strong bear (pink): The bear condition is fulfilled and the bar's close is below the reference line and both the reference and the weighted lines are falling.
Divergences
In the context of this indicator, a divergence is any bar where the slope of the reference line does not match that of the weighted line. No directional bias is assigned to divergences when they occur. You can also choose to define divergences as differences in polarity between the oscillator's slope and the polarity of close-to-close values. This indicator's divergences are designed to identify transition levels. They have no polarity; their bullish/bearish bias is determined by the behavior of price relative to the divergence channel after the divergence channel is built.
Divergence Channel
The divergence channel is the space between two levels (by default, the bar's low and high ) saved when divergences occur. When price has breached a channel and a new divergence occurs, a new channel is created. Until that new channel is breached, bars where additional divergences occur will expand the channel's levels if the bar's price points are outside the channel.
Price breaches of the divergence channel will change its state. Divergence channels can be in one of five different states:
• Bull (teal): Price has breached the channel to the upside.
• Strong bull (lime): The bull condition is fulfilled and the oscillator channel is in the strong bull state.
• Bear (maroon): Price has breached the channel to the downside.
• Strong bear (pink): The bear condition is fulfilled and the oscillator channel is in the strong bear state.
• Neutral (gray): The channel has not been breached.
█ HOW TO USE THE INDICATOR
Load the indicator on an active chart (see here if you don't know how).
The default configuration displays:
• The Divergence channel's levels.
• Bar colors using the state of the oscillator channel.
The default settings use:
• RSI as the oscillator, using the close source and a length of 20 bars.
• An Arnaud-Legoux moving average on the close and a length of 20 bars as the reference line.
• The weighted version of the reference line uses only the oscillator's weight, i.e., without the relative volume's weight.
The weighted line is capped to three standard deviations of the reference.
• The divergence channel's levels are determined using the high and low of the bars where divergences occur.
Breaches of the channel require a bar's low to move above the top of the channel, and the bar's high to move below the channel's bottom.
No markers appear on the chart; if you want to create alerts from this script, you will need first to define the conditions that will trigger the markers, then create the alert, which will trigger on those same conditions.
To learn more about how to use this indicator, you must understand the concepts it uses and the information it displays, which requires reading this description. There are no videos to explain it.
█ FEATURES
The script's inputs are divided in five sections: "Oscillator", "Oscillator channel", "Divergence channel", "Bar Coloring" and "Marker/Alert Conditions".
Oscillator
This is where you configure the oscillator you want to study. Thirty oscillators are available to choose from, but you can also use an oscillator from another indicator that is on your chart, if you want. When you select an external indicator's plot as the oscillator, you must also specify the value of its centerline.
Oscillator Channel
Here, you control the visibility and colors of the reference line, its weighted version, and the oscillator channel between them.
You also specify what type of moving average you want to use as a reference line, its source and its length. This acts as the oscillator channel's baseline. The weighted line is also a moving average of the same type and length as the reference line, except that it will be calculated from the weighted version of the source used in the reference line. By default, the weighted line is capped to three standard deviations of the reference line. You can change that value, and also elect to cap using a multiple of ATR instead. The cap provides a mechanism to control how far the weighted line swings from the reference line. This section is also where you can enable the relative volume component of the weight.
Divergence Channel
This is where you control the appearance of the divergence channel and the key price values used in determining the channel's levels and breaching conditions. These choices have an impact on the behavior of the channel. More generous level prices like the default low and high selection will produce more conservative channels, as will the default choice for breach prices.
In this section, you can also enable a mode where an attempt is made to estimate the channel's bias before price breaches the channel. When it is enabled, successive increases/decreases of the channel's top and bottom levels are counted as new divergences occur. When one count is greater than the other, a bull/bear bias is inferred from it. You can also change the detection mode of divergences, and choose to display a mark above or below bars where divergences occur.
Bar Coloring
You specify here:
• The method used to color chart bars, if you choose to do so.
• If you want to hollow out the bodies of bars where volume has not increased since the last bar.
Marker/Alert Conditions
Here, you specify the conditions that will trigger up or down markers. The trigger conditions can include a combination of state transitions of the oscillator and the divergence channels. The triggering conditions can be filtered using a variety of conditions.
Configuring the marker conditions is necessary before creating an alert from this script, as the alert will use the marker conditions to trigger.
Realtime values will repaint, as is usually the case with oscillators, but markers only appear on bar closes, so they will not repaint. Keep in mind, when looking at markers on historical bars, that they are positioned on the bar when it closes — NOT when it opens.
Raw values
The raw values calculated by this script can be inspected using the Data Window, including the oscillator's value and the weights.
█ INTERPRETATION
Except when mentioned otherwise, this section's charts use the indicator's default settings, with different visual components turned on or off.
The aim of the oscillator channel is to provide a visual representation of an oscillator's general behavior. The simplest characteristic of the channel is its bull/bear state, determined by whether the weighted line is above or below the reference line. One can then distinguish between its bull and strong bull states, as transitions from strong bull to bull states will generally happen when trends are losing steam. While one should not infer a reversal from such transitions, they can be a good place to tighten stops. Only time will tell if a reversal will occur. One or more divergences will often occur before reversals. This shows the oscillator channel, with the reference line and the thicker, weighted line:
The nature of the divergence channel 's design makes it particularly adept at identifying consolidation areas if its settings are kept on the conservative side. The divergence channel will also reveal transition areas. A gray divergence channel should usually be considered a no-trade zone. More adventurous traders can use the oscillator channel to orient their trade entries if they accept the risk of trading in a neutral divergence channel, which by definition will not have been breached by price. This show only the divergence channels:
This chart shows divergence channels and their levels, and colors bars on divergences and on the state of the oscillator channel, which is not visible on the chart:
If your charts are already busy with other stuff you want to hold on to, you could consider using only the chart bar coloring component of this indicator. Here we only color bars using the combined state of the oscillator and divergence channel, and we do not color the bodies of bars where volume has not increased. Note that my chart's settings do not color the candle bodies:
At its simplest, one way to use this indicator would be to look for overlaps of the strong bull/bear colors in both the oscillator channel and a divergence channel, as these identify points where price is breaching the divergence channel when the oscillator's state is consistent with the direction of the breach.
Tip
One way to use the Workbench is to combine it with my Delta Volume Channels indicator. If both indicators use the same MA as a reference line, you can display its delta volume channel instead of the oscillator channel.
This chart shows such a setup. The Workbench displays its divergence levels, the weighted reference line using the default RSI oscillator, and colors bars on divergences. The DV Channels indicator only displays its delta volume channel, which uses the same MA as the workbench for its baseline. This way you can ascertain the volume delta situation in contrast with the visuals of the Workbench:
█ LIMITATIONS
• For some of the oscillators, assumptions are made concerning their different parameters when they are more complex than just a source and length.
See the `oscCalc()` function in this indicator's code for all the details, and ask me in a comment if you can't find the information you need.
• When an oscillator using volume is selected and no volume information is available for the chart's symbol, an error will occur.
• The method I use to convert an oscillator's value into a percentage is fragile in the early history of datasets
because of the nascent expression of the oscillator's range during those early bars.
█ NOTES
Working with this workbench
This indicator is called a workbench for a reason; it is designed for traders interested in exploring its behavior with different oscillators and settings, in the hope they can come up with a setup that suits their trading methodology. I cannot tell you which setup is the best because its setup should be compatible with your trading methodology, which may require faster or slower transitions, thus different configurations of the settings affecting the calculations of the divergence channels.
For Pine Script™ Coders
• This script uses the new overload of the fill() function which now makes it possible to do vertical gradients in Pine. I use it for both channels displayed by this script.
• I use the new arguments for plot() 's `display` parameter to control where the script plots some of its values,
namely those I only want to appear in the script's status line and in the Data Window.
• I used my ta library for some of the oscillator calculations and helper functions.
• I also used TradingView's ta library for other oscillator calculations.
• I wrote my script using the revised recommendations in the Style Guide from the Pine v5 User Manual.
Position Tool█ OVERVIEW
This script is an interactive measurement tool that can be used to evaluate or keep track of trades. Like the long and short position drawing tools, it calculates a risk reward ratio and a risk-adjusted position size from the entry, stop and take profit levels, but it also does much more:
• It can be used to configure long or short trades.
• All monetary values can be expressed in any number of currencies.
• The value of tick/pip movement (which varies with the position's size) is displayed in the currency you have selected.
• The CAGR ( Compound Annual Growth Rate ) for the trade can be displayed.
• It does live tracking of the position.
• You can configure alerts on entries and exits.
█ HOW TO USE IT
Load the indicator on an active chart (see here if you don't know how).
When you first load this script on a chart, you will enter an interactive selection mode where the script asks you to pick three points in price and time on your chart by clicking on the chart. Directions will appear in a blue box at the bottom of the screen with each click of the mouse. The first selection is the entry point for the trade you are considering, which takes into account both the time and level you choose, the next are the take profit and stop levels. Once you have selected all three points, the script will draw trade zones and labels containing the trade metrics. The script determines if the trade is a long or short from the position of the take profit and stop loss levels in relation to the entry price. If the take profit level is above the entry price, the stop must be below and vice versa, otherwise an error occurs.
You can change levels by dragging the handles that appear when you select the indicator, or by entering new values in the script's settings. The only way to re-enter interactive mode is to re-add the indicator to your chart.
Once you place the position tool on a chart, it will appear at the same levels on all symbols you use. If your scale is not set to "Scale price chart only", the position tool's levels will be taken into account when scaling the chart, which can cause the symbol's bars to be compressed. If your scale is set to "Scale price chart only", the position tool will still be there, but it will not impact the scale of the chart's bars, so you won't see it if it sits outside the symbol's price scale.
If you select the position tool on your chart and delete it, this will also delete the indicator from the chart. You will need to re-add it if you want to draw another position tool. You can add multiple instances of the indicator if you need a position tool on more than one of your charts.
█ FEATURES
Display
The position tool displays the following information for entries:
• The entry's price level with an '@' sign before it.
• Open or Closed P&L : For an open trade, the "Open P&L" displays the difference in money value between the entry level and the chart's current price.
For a closed trade, the "Closed P&L" displays the realized P&L on the trade.
• Quantity : The trade size, which takes into account the risk tolerance you set in the script's settings.
• RR : The reward to risk ratio expresses the relationship of the distance between the entry and the take profit level vs the entry and the stop level.
Example: A $100 stop with a $100 target will have a ratio of 1:1, whereas a $200 target with the same stop will have a 2:1 ratio.
• Per tick/pip : Represents the money value of a tick or pip movement.
• CAGR : The Compound Annual Growth Rate will be displayed on the main order label on trades that exceed one day in duration.
This value is calculated the same way as in our CAGR Custom Range indicator.
If the trade duration is less than one day, the metric will not be present in the display.
The stop and take profit levels display:
• Their price level with an '@' sign before it.
• Their distance from the entry in money value, percentage and ticks/pips.
• The projected end money value of the position if the level is reached. These values are calculated based on the trade size and the currency.
Currency adjustments
This indicator modifies the trade label's colors and values based on the final Profit and Loss (P&L), which considers the dynamic exchange rate between base and conversion currencies in its calculations when the conversion currency is a specified value other than the default. Depending on the cross rate between the base and account currencies, this process can yield a negative P&L on an otherwise successful simulated trade.
For instance, if your account is in currency XYZ, you might buy 10 Apple shares at $150 each, with the XYZ to USD exchange rate being 2:1. This purchase would cost you 3000 units of XYZ. Suppose that later on, the shares appreciate to $170 each, and you decide to sell. One might expect this trade to result in profit. However, if the exchange rate has now equalized to 1:1, the return on selling the shares, calculated in XYZ, would only be 1700 units, resulting in a loss of 1300 units XYZ.
The indicator will mark the P&L and the target labels in red in such cases, regardless of whether the market price reached the profit target, as the trade produced a net loss due to reduced funds after currency conversion. Conversely, an otherwise unsuccessful position can result in a net profit in the account currency due to conversion rate fluctuations. The final losses or gains appear in the label metrics, and the corresponding color coding reflects the trade's success or failure.
Settings
The settings in the "Trade sizing" section are used to calculate the position size and the monetary value of trades. Two types of risk can be chosen from the menu; a percentage based risk calculation, or a fixed money value. The risk is used to calculate the quantity of units to purchase to achieve that level of risk exposure. Example: An account size of $1000 and 10% risk will have a projected end amount of $900 if the stop loss is hit. The quantity is a product of this relationship; a projected number of units to allow for the equivalent of $100 of risk exposure over the change in price from the entry to the stop value.
The "Trade levels" allow you to manually set the entry, take profit and stop levels of an existing position tool on your chart.
You can control the appearance of the tool and the values it displays in the settings following these first two sections.
Alerts
Three alerts that will trigger when you configure an alert on this indicator. The first will send an alert when the entry price is breached by price action if that price has not already been breached in the previous price history. This is dependant on the entry location you select when placing the indicator on the chart. The other two alerts will trigger when either the stop loss or the take profit level is breached to signal that a trade exit has occurred.
█ NOTES FOR Pine Script™ CODERS
• Interactive inputs are implemented for input.time() and input.price() . These specialized input functions allow users to interact with a script.
You can create one interactive input for both time and price values by using the same `inline` argument in a pair of input.time() and input.price() function calls.
• We use the `cagr()` function from our ta library.
• The script uses the runtime.error() function to throw an error if the stop and limit prices are not placed on opposing sides of the entry price.
• We use the `currency` parameter in a request.security() call to convert currencies.
Look first. Then leap.
Ichimoku Cloud MasterIchimoku Cloud Master aims to provide the ichimoku trader with easy alert functionality to not miss out on valuable trade setups. The key purpose of this script is to better visualise crucial moments in Ichimoku trading. These alerts should not be used for botting in my opinion as they always need a human to confirm the ichimoku market structure. For example, is the Kijun-Sen flat and too far away from price? A good ichimoku trader will not enter at such a point in time.
Explanation of script:
Chikou(lagging span): pink line, this is price plotted 26 bars ago. People ignore the power of this it is crucial to see how chikou behaves towards past price action as seen in the chart below where we got an entry at red arrow because chikou bounced from past fractal bottom.
Kijun-Sen(base line): Black line or color coded line. This is the equilibrium of last 26 candles. To me this is the most important line in the system as it attracts price.
Kijun = (Highest high of 26 periods + Lowest low of 26 periods) ÷ 2
Tenkan-Sen(conversion line): Blue line. This is the equilibrium of last 9 candles. In a strong uptrend price stays above this line.
Tenkan = (Highest high of 9 periods + Lowest low of 9 periods) ÷ 2
Senkou A (Leading span A)= Pink cloud line, this is the average of the 2 components projected 26 bars in the future.
Senkou A = (Tenkan + Kijun) ÷ 2
Senkou B (Leading span B) = Green cloud line, this is the 52 day equilibrium projected 26 bars in the future.
Senkou B = (Highest high of prior 52 periods + Lowest low of prior 52 periods) ÷ 2
Notice how the distance between Chikou and the cloud is also 52 bars. This is all part of Hosoda's numbers which I am not going to explain here.
Fractals: These are the black triangles you find at key turning point. If you want to know how they work reseach williams fractals. I've used fractals with a period of 9 as it is an ichimoku number. These fractals are useful when working with ichimoku wave theory. Again I will not explain that here but in further education
Fractal Support: Ability to extend lines from the fractals which can be used as an entry/exit mechanism in your trading. For example wait for tenkan to cross kijun and then enter on fractal breakout.
Signals:
Crossing of Chikou (lagging span) with past Kijun-Sen: this will color code the Bars / Kijun-Sen (you can turn this off in options)
The script also has a signal for this, this will be the green and purple diamonds. Where green is bullish and purple is bearish.
wy is this important?
When current price plotted 26 candles back (chikou) crosses over the past equilibrium (kijun-sen) this usualy means price has moved past resistance levels where sellers come in. This indicates a switch in market structure and price is bullish from this point, this is the same in the other direction.
Kumo Twist: when the kumo cloud (future) has a crossover from for example green to red (bull to bear). The script plots these using the colored cross symbols as seen in the picture above. A chikou cross + a Kumo twist at same bar of next to eachother below the cloud can be a great entry sign: this would be an entry after cross in the chart above.
Kijun Bounce: when in an uptrend the price retraces back to Kijun-Sen and starts to go back up. These are marked by the yellow circles as seen in chart below:
low below Kijun-Sen and close above it
Strong Trend: when Tenkan is above Kijun, price above cloud, future cloud green, chikou above close, chikou above Kijun we establish a strong bullish trend. For bearish the exact opposite. The script has a function to send an alert at the start of such trends and to plot them with small colored circles above the bars.
Customisation:
I've added options to disable specific aspects of the indicator for those traders who do not want to use all aspects of the indicator. In the customisation tab I've given each part a clear title so you can use your own colors/shapes.
The perfect entry?
Further info:
Look into my education pane, I will be adding education in the future. The chance of me making a more advanced version of the script including line forecasting etc is rather high so watch out for that.
For those who want to master this system I recommend reading the book:
How to make money with the ichimoku system by Balkrishna M. Sadekar
Or the originals books by Hosoda the inventor of Ichimoku if you can get your hands on them and can read Japanese.
Almost all info about the ichimoku system you find on the internet will lose you money because they reduce the system to simple signals that do not generate money.
I will be providing educational material on tradingview using this indicator.
Coin Bureau BB/EMA/RSI IndicatorThis indicator was inspired by Coin Bureau's How To Spot The Crypto Top video. In the video, Coin Bureau uses Bollinger bands, 7-period EMA and RSI to look for early signs of a top, thus presenting an opportunity to sell.
Using the basic principles found in the video, I've made a tentative indicator as a way to visualise all 3 indicators at once. Alerts will only fire when all 3 criteria are met:
Price closes outside 20-period Bollinger bands
Price closes ~2sd away from 7-period EMA
RSI is overbought or oversold
The indicator will also update in real-time and show when 1, 2 or all 3 conditions are satisfied. Additionally, there is built-in functionality to toggle historical/current alerts and users can set their own bounds for what constitutes a buy or sell alert.
This is just a personal project purely for edutainment purposes and should not be used to make financial decisions. This project is not affiliated with Coin Bureau.
Some caveats:
Using only 7 periods to calculate the standard deviation of price data will not lead to a statistically significant result, thus this figure may have no right being in the script. However, this was more to trial some techniques and to get acquainted with the pine scripting language.
As you can see, there are a lot of false positives. There are moments when the indicator flashes a sell alert only for the price to keep on rising. This is due to the specificity/sensitivity trade-off. The indicator has been tuned to give the optimal sensitivity (the more critical component). These are the best results I could find for this asset in this time frame.
neutronix community bot ML + Alerts 4h-daily (mod. capissimo)Gm traders,
i have been a python programmer for some years studying artificial intelligence for general purpose; after some time i finally decided to have a look at some finance related stuff and scripts.
Moved by curiosity i've decided to make some but decisive modifications to a script i tried to use initially but without success: the LVQ machine learning strategy.
So after studying the charts and indicators, i have rewritten this script made by Capissimo and added heavy filtering thanks to vwap and vwma, then fixed repaint and other issues.
I hope you enjoy it and that it could increase your possibilities of success in trading.
HOW TO USE THE SCRIPT
Add the script to 3h+ charts like for example BTC 4h, 6h, 8h, 12h, daily. (In order for it to work on shorter timeframes charts you can try to change to lookback window but i dont advise it).
Change only rsi and volfilter(volume filtering) settings to try to find the best winrate. Leave dataset to open. Fyi the winrate isn't 100% accurate but can give you a raw vision of final results.
Use alerts included for trading and and in options click on 'Once per bar'. If you have checked 'Reverse Signals' in the control panel you have got more 'risky' signals so be advised if trading futures and stocks.
Exit trade signals not provided, so it is recommended the use of take profits and stop loss (1.5:1 ratio)
As always, the script is for study purposes. Do not risk more than you can spend!
Original LVQ-based strategy made by capissimo
Modified by gravisxv 13/10/2021
3rd WaveHello All,
In Elliott Wave Theory, 3rd wave is not the shortest one in the waves 1/3/5 and it's usually longest one. so if we can catch it then we may get good opportunities to trade. This script finds 3rd wave experimentally. it can be also the 3rd waves in the waves 1, 3, 5, A and C. the 3rd wave should have greater volume than other waves, the script can check its volume and compare with the volumes of the waves 1 and 2 optionally.
Pine Team released Pine version 5! This script was developed in v5 and it uses Library feature of Pine v5 for the zigzag functions. This script is also an example for the Pine developers who learn Pine v5 and Libraries.
Options:
Zigzag Period: is the length that is used to calculate highest/lowest and the zigzag waves
Min/Max Retracements: is the retracement rates to check the wave 2 according to wave 1. for example; if min/max values are 0.500-0.618 then wave 2 must be minimum 0.500 of wave 1 and maximum 0.618 of wave 1.
Check Volume Support: is an option to compare the volumes of1. 2. and . waves. if you enable this option then the script checks their volume and 3rd wave volume must be greater then 1 and 2
there are 4 options for the targets. you can enable/disable and change their levels. targets are calculated using length of wave 1.
Options to show breakout zone, zigzag, wave 1 and 2.
and some options for the colors.
The Library that is used in this script:
P.S. This is an experimental work and can be improved. So do not hesitate to drop your comments under the script ;)
Enjoy!
[SCL] Significant Figures Example FunctionThis script consist of a single example function that takes a floating-point number - one that can, but doesn't have to, include a decimal point - and converts it to a floating-point number with only a certain number of significant digits left.
I'm not aware of another script that does this. There might well be a simpler way, in which case please do let me know.
For example, say you want to display a variable from your script to the user and it comes out to something like 45.366666666666666666666667 or whatever. That looks awful when you, for example, print it in a label.
Now, you could round it up to the nearest integer easily using a built-in function, or even to a certain number of decimal places using a reasonably simple custom function.
But that's a bit arbitrary. Suppose you don't know what asset the script will be used on, and so you can't predict what the price is, and what the value will turn out to be.
It could be 0.00045366666666666666666666667 instead. Now if you round it up to 3 decimal places it comes out as 0.000, which is useless.
My function will round that number to 0.0004536 instead, if told to do it to 4 significant digits.
You're free to use this function in your own scripts, including closed-source scripts, without asking permission. Credit to @SimpleCryptoLife would be appreciated.
Filter Information Box - PineCoders FAQWhen designing filters it can be interesting to have information about their characteristics, which can be obtained from the set of filter coefficients (weights). The following script analyzes the impulse response of a filter in order to return the following information:
Lag
Smoothness via the Herfindahl index
Percentage Overshoot
Percentage Of Positive Weights
The script also attempts to determine the type of the analyzed filter, and will issue warnings when the filter shows signs of unwanted behavior.
DISPLAYED INFORMATION AND METHODS
The script displays one box on the chart containing two sections. The filter metrics section displays the following information:
- Lag : Measured in bars and calculated from the convolution between the filter's impulse response and a linearly increasing sequence of value 0,1,2,3... . This sequence resets when the impulse response crosses under/over 0.
- Herfindahl index : A measure of the filter's smoothness described by Valeriy Zakamulin. The Herfindahl index measures the concentration of the filter weights by summing the squared filter weights, with lower values suggesting a smoother filter. With normalized weights the minimum value of the Herfindahl index for low-pass filters is 1/N where N is the filter length.
- Percentage Overshoot : Defined as the maximum value of the filter step response, minus 1 multiplied by 100. Larger values suggest higher overshoots.
- Percentage Positive Weights : Percentage of filter weights greater than 0.
Each of these calculations is based on the filter's impulse response, with the impulse position controlled by the Impulse Position setting (its default is 1000). Make sure the number of inputs the filter uses is smaller than Impulse Position and that the number of bars on the chart is also greater than Impulse Position . In order for these metrics to be as accurate as possible, make sure the filter weights add up to 1 for low-pass and band-stop filters, and 0 for high-pass and band-pass filters.
The comments section displays information related to the type of filter analyzed. The detection algorithm is based on the metrics described above. The script can detect the following type of filters:
All-Pass
Low-Pass
High-Pass
Band-Pass
Band-Stop
It is assumed that the user is analyzing one of these types of filters. The comments box also displays various warnings. For example, a warning will be displayed when a low-pass/band-stop filter has a non-unity pass-band, and another is displayed if the filter overshoot is considered too important.
HOW TO SET THE SCRIPT UP
In order to use this script, the user must first enter the filter settings in the section provided for this purpose in the top section of the script. The filter to be analyzed must then be entered into the:
f(input)
function, where `input` is the filter's input source. By default, this function is a simple moving average of period length . Be sure to remove it.
If, for example, we wanted to analyze a Blackman filter, we would enter the following:
f(input)=>
pi = 3.14159,sum = 0.,sumw = 0.
for i = 0 to length-1
k = i/length
w = 0.42 - 0.5 * cos(2 * pi * k) + 0.08 * cos(4 * pi * k)
sumw := sumw + w
sum := sum + w*input
sum/sumw
EXAMPLES
In this section we will look at the information given by the script using various filters. The first filter we will showcase is the linearly weighted moving average (WMA) of period 9.
As we can see, its lag is 2.6667, which is indeed correct as the closed form of the lag of the WMA is equal to (period-1)/3 , which for period 9 gives (9-1)/3 which is approximately equal to 2.6667. The WMA does not have overshoots, this is shown by the the percentage overshoot value being equal to 0%. Finally, the percentage of positive weights is 100%, as the WMA does not possess negative weights.
Lets now analyze the Hull moving average of period 9. This moving average aims to provide a low-lag response.
Here we can see how the lag is way lower than that of the WMA. We can also see that the Herfindahl index is higher which indicates the WMA is smoother than the HMA. In order to reduce lag the HMA use negative weights, here 55% (as there are 45% of positive ones). The use of negative weights creates overshoots, we can see with the percentage overshoot being 26.6667%.
The WMA and HMA are both low-pass filters. In both cases the script correctly detected this information. Let's now analyze a simple high-pass filter, calculated as follows:
input - sma(input,length)
Most weights of a high-pass filters are negative, which is why the lag value is negative. This would suggest the indicator is able to predict future input values, which of course is not possible. In the case of high-pass filters, the Herfindahl index is greater than 0.5 and converges toward 1, with higher values of length . The comment box correctly detected the type of filter we were using.
Let's now test the script using the simple center of gravity bandpass filter calculated as follows:
wma(input,length) - sma(input,length)
The script correctly detected the type of filter we are using. Another type of filter that the script can detect is band-stop filters. A simple band-stop filter can be made as follows:
input - (wma(input,length) - sma(input,length))
The script correctly detect the type of filter. Like high-pass filters the Herfindahl index is greater than 0.5 and converges toward 1, with greater values of length . Finally the script can detect all-pass filters, which are filters that do not change the frequency content of the input.
WARNING COMMENTS
The script can give warning when certain filter characteristics are detected. One of them is non-unity pass-band for low-pass filters. This warning comment is displayed when the weights of the filter do not add up to 1. As an example, let's use the following function as a filter:
sum(input,length)
Here the filter pass-band has non unity, and the sum of the weights is equal to length . Therefore the script would display the following comments:
We can also see how the metrics go wild (note that no filter type is detected, as the detected filter could be of the wrong type). The comment mentioning the detection of high overshoot appears when the percentage overshoot is greater than 50%. For example if we use the following filter:
5*wma(input,length) - 4*sma(input,length)
The script would display the following comment:
We can indeed see high overshoots from the filter:
@alexgrover for PineCoders
Look first. Then leap.
TTM Squeeze Scanner This script scans for TTM Squeezes for the crypto symbols included in the body of the script. The timeframe for the squeeze scan is controlled within the input not the chart.
This script is a merge of @Nico.Muselle's TTM Squeeze script and @QuantNomad's custom screener script. Thanks to both of them!
[blackcat] L3 Bullish Grab SignalOVERVIEW
The " L3 Bullish Grab Signal" indicator is designed to identify bullish trends and potential buying opportunities in the market. It uses a combination of moving averages and custom calculations to generate signals. The indicator is set to not overlay on the price chart, meaning it will have its own panel below the main chart, and it updates based on the specified timeframe.
FEATURES
Input Parameters:
shortEmaPeriod: Default value is 13, used for the shorter-term EMA.
longEmaPeriod: Default value is 34, used for the longer-term EMA.
signalEmaPeriod: Default value is 5, used to smooth the difference between the short and long EMAs.
lookbackPeriod: Default value is 60, used to look back over a certain number of bars for specific calculations.
Variable Calculations:
priceWeightedAverage: Calculated as (close * 2 + high + low) / 4 * 10, a custom price point.
shortEma: EMA of priceWeightedAverage over the short period.
longEma: EMA of priceWeightedAverage over the long period.
signalEma: EMA of the difference between shortEma and longEma, smoothed over the signalEmaPeriod.
oscillatorValue: Calculated as 2 * (shortEma - longEma - signalEma) * 5.5, a custom oscillator.
positiveOscillatorValue: Positive part of oscillatorValue, setting negative values to zero.
bullishSignal: True when positiveOscillatorValue increases and was previously negative.
confirmedBullishSignal: True when the bullish signal is confirmed by certain conditions involving the oscillator values and price increases.
priceIncreaseThreshold: Checks if the close price increased by more than 7% from the previous bar.
strongBullishSignal: Combines the bullish signal with the confirmed signal and the price increase threshold.
confirmedStrongBullishSignal: When all conditions for a strong bullish signal are met.
weakBullishSignal: Bullish signal that doesn't meet the strong criteria but still shows some strength.
Plotting:
Oscillator Value: Plots the raw oscillator value in white.
Positive Oscillator Value: Plots only the positive part of the oscillator value in white.
Strong Bullish Signal Stick: Plots a red candlestick when a strong bullish signal is confirmed, using the highest positive oscillator value over the lookback period.
Bullish Signal Stick: Plots a white candlestick for a bullish signal that isn't necessarily strong.
Weak Bullish Signal Stick: Plots a green candlestick for a weak bullish signal.
Positive Trend: Plots yellow candlesticks when the oscillator value is positive.
Negative Trend: Plots fuchsia candlesticks when the oscillator value is negative.
Numbers on Candles: Represents the breakout strength as a percentage change in price.
HOW TO USE
Install the Script: Add the script to your TradingView chart.
Customize Inputs:
Adjust the shortEmaPeriod, longEmaPeriod, signalEmaPeriod, and lookbackPeriod as needed.
Interpret the Charts:
Red Candles: Indicate a strong bullish trend, suggesting a potential buying opportunity.
White Candles: Indicate bullish signals that are not as strong but still suggest a buying opportunity.
Green Candles: Indicate weak bullish signals, suggesting a possible buying opportunity but with less confidence.
Yellow Candles: Indicate a positive trend, suggesting the market is in an uptrend.
Fuchsia Candles: Indicate a negative trend, suggesting the market is in a downtrend.
Numbers on Candles: Show the breakout strength as a percentage change in price.
Analyze Trends and Signals:
Use red candles to identify strong bullish signals, especially if the price has increased by more than 7% from the previous bar.
Monitor white and green candles for potential entries with lower confidence.
Avoid trading during fuchsia candles, as the market is in a downtrend.
MARKET MEANING AND TRADING USAGE
Strong Bullish Signal (Red Candles): Indicates a significant price increase and momentum, suggesting a strong buying opportunity.
Bullish Signal (White Candles): Suggests a buying opportunity but with less confidence compared to strong signals.
Weak Bullish Signal (Green Candles): Indicates a possible buying opportunity with even lower confidence.
Positive Trend (Yellow Candles): Suggests the market is in an uptrend.
Negative Trend (Fuchsia Candles): Suggests the market is in a downtrend.
Trading Strategy:
Buy: When a strong bullish signal is confirmed (red candle), especially if the price has increased by more than 7% from the previous bar.
Monitor: Watch for bullish signals (white candles) and weak bullish signals (green candles) for potential entries with lower confidence.
Avoid: During negative trends (fuchsia candles), as the market is in a downtrend.
LIMITATIONS
Simplicity: The implementation is based on a combination of moving averages and custom calculations, which might not capture all aspects of market dynamics.
Close Price Dependency: Uses close prices to determine trends and signals, which might not reflect intrabar price movements and trade imbalances accurately.
Historical Data: The script is based on historical data and does not guarantee future performance.
NOTES
Educational Tool: The script is designed for educational purposes and should not be considered financial advice.
Backtesting: Users are encouraged to backtest the strategy on a demo account before applying it to live trades.
Complementary Use: Best used in conjunction with other indicators and analysis methods for more accurate trading decisions.
THANKS
Special thanks to the TradingView community for their support and feedback.
Binance Futures Category TrackerHİ!
Script Introduction:
This Binance Futures Category Tracker script is used to track the performance of different cryptocurrency categories on Binance Futures. Once the user selects a specific category (e.g., "NFT" or "DeFi"), the script monitors the price changes of 3 different cryptocurrencies associated with that category. The formulas used in the script calculate the price change rates of these coins based on their start time.
Categories:
The script includes categories like "Index", "DeFi", "NFT", "Layer 2", "Gaming", "Web3", "Layer 1", "AI", "Meme", "Oracle", "Metaverse", "Privacy", "Storage", "POW", and "Payment". Three cryptocurrencies are selected for each category. For example, the "DeFi" category uses "UNI", "AAVE", and "SUSHI".
Formula Explanations:
Category Selection (category): The user can select a category, which determines which coins will be used in the script.
Start Time (dft_StartTime): This sets the date when the calculation of price changes begins. For example, it might be April 15, 2021. Price change rates are calculated from this start date onward.
Hide All Plots Option (hideAllPlots): The user can hide all plots on the chart. This option is useful if the user wants to see only selected plots.
Plot and Horizontal Line Calculations:
Plots (plot): The script calculates the price change rates (in percentage) for the three coins of each category and plots them separately for each coin.
plot(Pchg01, "Plot_01", color=color.new(color.yellow, 0), linewidth=1): This line plots the price change rate for coin01 in yellow color and with a line width of 1 pixel.
Other plots are drawn in red and blue colors for the other coins.
Horizontal Line (hline): A horizontal line is drawn on the chart. This line represents the zero (0) value, indicating the point where the price change rate is at its starting point. It helps users visually track how much the price has increased or decreased since the start.
hline(0, color=color.white, linestyle=hline.style_solid): This draws a horizontal white line at zero.
Security Function (f_DFT):
The f_DFT function is used to calculate the price change for each coin. The calculation compares the coin's closing price and lowest price, then computes the percentage change relative to the starting price.
pinescript
Kodu kopyala
f_DFT(_close, _low, _time) =>
_l = float(na)
_l := _time >= dft_StartTime and na(_l ) ? _low : _l
_change = (((_close - _l) * 100) / _l)
This function:
_low: Takes the lowest price of the coin.
_close: Takes the closing price of the coin.
_time: Provides the time data.
Thus, the price change percentage for each coin is calculated from the starting time.
Customizable and Open Source:
This script is set to false by default for the option to hide plots, which means that the plots will initially be visible. However, since it is open-source, users can modify the settings or adjust the script according to their preferences. Users can also create their own tracking list or customize the indicators based on the coins and categories they follow.
Result:
This script monitors the price movements of coins from the selected category and visualizes them on the chart. By using different colors for each coin, it ensures that the coins are easily distinguishable. The purpose of the script is to identify which coins have increased the most and which have experienced a decrease.
Since the script is open-source, users can freely modify and share it. It provides an efficient tool to track the performance of different market segments by allowing users to quickly switch between categories and coins...
Uptrick: Arbitrage OpportunityINTRODUCTION
This script, titled Uptrick: Arbitrage Monitor, is a Pine Script™ indicator that aims to help traders quickly visualize potential arbitrage scenarios across multiple cryptocurrency exchanges. Arbitrage, in general, involves taking advantage of price differences for the same asset across different trading platforms. By comparing market prices of the same symbol on two user-selected exchanges, as well as scanning a broader list of exchanges, this script attempts to signal areas where you might want to buy on one exchange and sell on another. It includes various graphical tools, calculations, and an optional Automated Detection signal feature, allowing users to incorporate more advanced data scanning into their trading decisions. Keep in mind that transaction fees must also be considered in real-world scenarios. These fees can negate potential profits and, in some cases, result in a net loss.
PURPOSE
The primary purpose of this indicator is to show potential percentage differences between the same cryptocurrency trading pairs on two different exchanges. This difference is displayed numerically, visually as a line chart, and it is also tested against user-defined thresholds. With the threshold in place, buy and sell signals can be generated. The script allows you to quickly gauge how significant a spread is between two exchanges and whether that spread surpasses a specified threshold. This is particularly useful for arbitrage trading, where an asset is bought at a lower price on one exchange and sold at a higher price on another, capitalizing on price discrepancies. By identifying these opportunities, traders can potentially secure profits across different markets.
WHY IT WAS MADE
This script was developed to help traders who frequently look for arbitrage opportunities in the fast-paced cryptocurrency market. Cryptocurrencies sometimes experience quick price divergences across different exchanges. By having an automated approach that compares and displays prices, traders can spend less time manually tracking price discrepancies and more time focusing on actual trading strategies. The script was also made with user customization in mind, allowing you to toggle an optional Automated-based approach and choose different moving average methods to smooth out the displayed price difference.
WHAT ARBITRAGE IS
Arbitrage is the practice of buying an asset on one market (or exchange) at a lower price and simultaneously selling it on another market where the price is higher, thus profiting from the price difference. In cryptocurrency markets, these price differentials can occur across multiple exchanges due to varying liquidity, trading volume, geographic factors, or market inefficiencies. Though sometimes small, these differences can be exploited for profit when approached methodically.
EXPLANATION OF INPUTS
The script includes a variety of user inputs that help tailor the indicator to your specific needs:
1. Compared Symbol 1: This is the primary symbol you want to track (for example, BTCUSDT). Make sure it's written in all capital and make sure that it's price from that exchange is available on Tradingview.
2. Compare Exchange 1: The first exchange on which the script will request pricing data for the chosen symbol.
3. Compared to Exchange: The second exchange, used for the comparison.
4. Opportunity Threshold (%): A percentage threshold that, when exceeded by the price difference, can trigger buy or sell signals.
5. Plot Style?: Allows you to choose between plotting the raw difference line or a moving average of that difference.
6. MA Type: Select among SMA, EMA, WMA, RMA, or HMA for your moving average calculation.
7. MA Length: The lookback period for the selected moving average.
8. Plot Buy/Sell Signals?: Enables or disables the plotting of arrows signaling potential buy or sell zones based on threshold crossovers.
9. Automated Detection?: Toggles an additional multi-exchange data scan feature that calculates the highest and lowest prices for the specified symbol across a predefined list of exchanges.
CALCULATIONS
At its core, the script calculates price1 and price2 using the request.security function to fetch close prices from two selected exchanges. The difference is measured as (price1 - price2) / price2 * 100. This results in a percentage that indicates how much higher or lower price1 is relative to price2. Additionally, the script calculates a slope for this difference, which helps color the line depending on whether it is trending up or down. If you choose the moving average option, the script will replace the raw difference data with one of several moving average calculations (SMA, EMA, WMA, RMA, or HMA).
The script also includes an iterative scan of up to 15 different exchanges for Automated detection, collecting the highest and lowest price across all those exchanges. If the Automated option is enabled, it compiles a potential recommendation: buy at the cheapest exchange price and sell at the most expensive one. The difference across all exchanges (allExDiffPercent) is calculated using (highestPriceAll - lowestPriceAll) / lowestPriceAll * 100.
WHAT AUTOMATED DETECTION SIGNAL DOES
If enabled, the Automated detection feature scans all 15 supported exchanges for the specified symbol. It then identifies the exchange with the highest price and the exchange with the lowest price. The script displays a recommended action: buy on the lowest-exchange price and sell on the highest-exchange price. While called “Automated,” it is essentially a multi-exchange data query that automates a portion of research by consolidating different price points. It does not replace thorough analysis or guaranteed execution; it simply provides an overview of potential extremes.
WHAT ALL-EX-DIFF IS
The variable allExDiffPercent is used to show the overall difference between the highest price and the lowest price found among the 15 pre-chosen exchanges. This figure can be useful for anyone wanting a big-picture view of how large the arbitrage spread might be across the broader market.
SIGNALS AND HOW THEY ARE GENERATED
The script provides two main modes of signal generation:
1. Raw Difference Mode: If the user chooses “Use Normal Line,” the script compares the percentage difference of the two selected exchanges (price1 and price2) to the user-defined threshold. When the difference crosses under the positive threshold, a sell signal is displayed (red arrow). Conversely, when the difference crosses above the negative threshold, a buy signal is displayed (green arrow).
2. Moving Average Mode: If the user selects “Use Moving Average,” the script instead references the moving average values (maValue). The signals fire under similar conditions but use the average line to gauge whether the threshold has been crossed.
HOW TO USE THE INDICATOR
1. Add the script to your chart in TradingView.
2. In the script’s settings panel, configure the symbol you wish to compare (for example, BTCUSDT), choose the two exchanges you want to evaluate, and set your desired threshold.
3. Optionally, pick a moving average type and length if you prefer a smoother representation of the difference.
4. Enable or disable buy/sell signals according to your preference.
5. If you’d like to see potential extremes among a broader list of exchanges, enable Automated Detection. Keep in mind that this feature runs additional security requests, so it might slow down performance on weaker devices or if you already have many scripts running.
EXCHANGES TO USE
The script currently supports up to 15 exchanges: BYBIT, BINANCE, MEXC, BLOFIN, BITGET, OKX, KUCOIN, COINBASE, COINEX, PHEMEX, POLONIEX, GATEIO, BITSTAMP, and KRAKEN. You can choose any two of these for direct comparison, and if you enable the Automated detection, it will attempt to query them all to find extremes in real time.
VISUALS
The exchanges and current prices & differences are all plotted in the table while the colored line represents the difference in the price. The two thresholds colored red are where signals are generated. A cross below the upper threshold is a sell signal and a cross above the lower threshold is a buy signal. In the line at the bottom, purple is a negative slope and aqua is a positive slope.
LIMITATIONS AND POTENTIAL PROBLEMS
If you enable too many visual elements such as signals, additional lines, and the Automated-based scanning table, you may find that your chart becomes cluttered, or text might overlap. One workaround is to remove and reapply the indicator to refresh its display. You may also want to reduce the number of displayed table rows by disabling some features if your chart becomes too crowded. Sometimes there might be an error that the price of an asset is not available on an exchange, to fix this, go and select another exchange to compare it to, or if it happens in Automated detection, choose a different asset, ideally more widely spread.
UNIQUENESS
This indicator stands out due to its multifaceted approach: it doesn’t just look at two exchanges but optionally scans up to 15 exchanges in real time, presenting users with a much broader view of the market. The dual-mode system (raw difference vs. moving average) allows for both immediate, unfiltered signals and smoother, noise-reduced signals depending on user preference. By default, it introduces dynamic visual cues through color changes when the slope of the difference transitions upward or downward. The optional Automated detection, while not a deep learning system, adds a functional intelligence layer by collating extreme price points from multiple exchanges in one place, thereby streamlining the manual research process. This combination of features gives the script a unique edge in the TradingView ecosystem, catering equally to novices wanting a straightforward approach and to advanced users looking for an aggregated multi-exchange analysis.
CONCLUSION
Uptrick: Arbitrage Monitor is a versatile and customizable Pine Script™ indicator that highlights price differences for a specified symbol between two user-selected exchanges. Through signals, threshold-based alerts, and optional Automated detection across multiple exchanges, it aims to support traders in identifying potential arbitrage opportunities quickly and efficiently. This script makes no guarantees of profitability but can serve as a valuable tool to add to your trading toolkit. Always use caution when implementing arbitrage strategies, and be mindful of market risks, exchange fees, and latency.
ADDITIONAL DISCLOSURES
This script is provided for educational and informational purposes only. It does not constitute financial advice or a guarantee of performance. Users are encouraged to conduct thorough research and consider the inherent risks of arbitrage trading. Market conditions can change rapidly, and orders may fail to execute at desired prices, especially when large price discrepancies attract competition from other traders.
Enigma Endgame with Dynamic Trend-Based FibonacciThe Enigma Endgame script combines dynamic trend-based Fibonacci levels with the core principles of the ENIGMA strategy. It provides traders with actionable signals by identifying key levels of fractal support and resistance and highlighting opportunities to trade with market momentum. This tool is designed for multi-timeframe analysis and is especially effective during high-volatility sessions like London and New York.
Purpose and Usefulness
This script was developed to simplify complex market dynamics by integrating Fibonacci principles with ENIGMA's logic of fractal support and resistance. Traders can use it to:
- Identify key breakout and retracement levels dynamically.
- Understand the shift between support and resistance as price action evolves.
- Gain confidence in their entries with real-time signals derived from logical fractal behavior.
By merging Fibonacci levels with fractal-based trading insights, this script offers a unique and comprehensive approach to analyzing market structure.
How It Works
The script uses a dual approach to provide insights:
1. Dynamic Fibonacci Levels:
- Automatically plots Fibonacci retracement and extension levels based on recent high and low swings, adjusting dynamically to current market trends.
- Allows traders to visualize key levels where price might reverse or extend.
2. Fractal Support and Resistance Logic:
- The script identifies fractal support and resistance by analyzing candle formations.
- When a candle body closes below the low of a previous candle, the previous low, which was fractal support, now becomes fractal resistance. The script generates a bearish signal, encouraging traders to look for sell opportunities at or above the previous low.
- Conversely, when a candle body closes above the high of a previous candle, the previous high, which was fractal resistance, becomes fractal support. The script generates a bullish signal, encouraging traders to look for buy opportunities at or below the previous high.
Real-Time Signals
The script marks these transitions with arrows on the chart:
- Bearish arrows indicate broken fractal support turning into resistance.
- Bullish arrows** indicate broken fractal resistance turning into support.
These signals help traders stay aligned with the trend and trade with market momentum.
Key Features
1. Session-Based Analysis: Focuses on high-probability setups by allowing traders to customize session times, such as London or US sessions.
2. Multi-Timeframe Support: Works seamlessly across multiple timeframes for both scalpers and swing traders.
3. Real-Time Alerts: Sends customizable alerts when price interacts with critical Fibonacci levels or fractal support/resistance shifts.
How to Use the Script
1. Apply the script to a clean chart for clear visualization. Avoid combining it with other scripts unless necessary.
2. Use the arrows to identify shifts in fractal support and resistance and validate opportunities for buy/sell trades.
3. Monitor the dynamic Fibonacci levels to find confluence with key price areas.
4. Customize session times to focus on high-probability trading hours.
Key Notes for Traders
- This script provides insights based on logical market structure but should be used alongside proper risk management and trading plans.
- The fractal-based approach works well in conjunction with dynamic Fibonacci levels, helping traders build confidence in their strategy.
- Adapt the script settings to match your unique trading style and timeframe preferences.
By offering a seamless integration of fractal logic and Fibonacci principles, Enigma Endgame empowers traders with actionable insights to navigate markets effectively.
Support and Resistance TrendlinesStrategy:
Support: Identified as the lowest low over a specific period.
Resistance: Identified as the highest high over a specific period.
Dynamic Trendlines: We’ll use the concept of a rolling window to calculate the highest highs and lowest lows over the last n bars (you can adjust the number of bars for more sensitivity).
Explanation:
Lookback Period (length): The number of bars over which we calculate the support and resistance levels. You can adjust this value depending on the timeframe and the sensitivity you want for the trendlines.
Resistance: This is the highest high over the length of bars. We use ta.highest(high, length) to find the highest high within the specified lookback period.
Support: This is the lowest low over the length of bars. We use ta.lowest(low, length) to find the lowest low within the specified lookback period.
Plotting the Lines:
We plot the support and resistance as horizontal lines on the chart using plot().
Additionally, we create dynamic trendlines that update automatically with each new bar. The line.new function creates lines that can be modified dynamically as new price data comes in.
Line Persistence:
The line functions are used to create horizontal lines that persist across bars. The trendlines adjust their position as the bars move forward.
How It Works:
This indicator will automatically detect the highest and lowest prices over the last n bars and draw support (green line) and resistance (red line) levels on the chart.
The trendlines will adjust as the market evolves and provide visual reference points for potential areas of price reversal.
How to Use This Script:
Copy and paste the Pine Script code into the Pine Script Editor on TradingView.
Save the script, and then add it to your chart.
Adjust the Lookback Period input to suit your trading strategy and timeframe.
The support and resistance levels will be drawn dynamically, and the lines will update as new bars form.
Customizations:
You can modify the number of bars (length) used to calculate support and resistance, depending on the timeframes you're interested in.
If you need more advanced trendline drawing (such as drawing trendlines between significant high/low points or automatic adjustment to more complex patterns), you might need to implement more advanced logic using peaks and valleys or price action patterns.
Let me know if you need any further adjustments!
1-3-1 Strat Combo with 50% Level (12h)Logic Explanation
1-3-1 Combo Detection:
The script detects the 1-3-1 pattern using the previous 3 candles:
Candle 4: Inside Bar (Type 1).
Candle 3: Outside Bar (Type 3).
Candle 2: Inside Bar (Type 1).
4th Candle Behavior:
If the 4th candle (current bar):
Stays an inside bar (Type 1) → isFourthInsideBar is true.
Becomes a directional bar (Type 2) → isFourthDirectional is true.
If either of these conditions is true, the script stops calculating and waits for the next valid 1-3-1 setup.
50% Level Calculation:
If the conditions are not met (e.g., the 4th candle doesn’t stop the pattern), the script:
Plots a dotted line at the 50% level of the 3rd candle.
Adds a label showing the 50% level.
Stop Calculations:
No line, box, or label is drawn if the 4th candle is a Type 1 (inside bar) or Type 2 (directional bar).
Visual Outputs:
Dotted Box: Marks the 1-3-1 combo setup.
50% Line: Drawn only if the 4th candle does not invalidate the pattern.
Label: Displays the 50% level of the 3rd candle.
How to Use:
Apply this script on the 12-hour chart.
The script will:
Detect valid 1-3-1 patterns.
Stop drawing any calculations if the 4th candle is an inside bar (1) or a directional bar (2).
Wait for the next valid 1-3-1 combo.
Alternative Price [OmegaTools]The Alternative Price script is a sophisticated and flexible indicator designed to redefine how traders visualize and interpret price data. By offering multiple unique charting modes, robust customization options, and advanced features, this tool provides a comprehensive alternative to traditional price charts. It is particularly useful for identifying market trends, detecting patterns, and simplifying complex data into actionable insights.
This script is highly versatile, allowing users to choose from five distinct charting modes: Candles, Line, Channel, Renko, and Bubbles. Each mode serves a unique purpose and presents price information in an innovative way. When using this script, it is strongly recommended to hide the platform’s default price candles or chart data. Doing so will eliminate redundancy and provide a clearer and more focused view of the alternative price visualization.
The Candles mode offers a traditional candlestick charting style but with added flexibility. Users can choose to enable smoothed opens or smoothed closes, which adjust the way the open and close prices are calculated. When smoothed opens are enabled, the opening price is computed as the average of the actual open price and the closing prices of the previous two bars. This creates a more gradual representation of price transitions, particularly useful in markets prone to sudden spikes or irregularities. Similarly, smoothed closes modify the closing price by averaging it with the previous close, the high-low midpoint, and an exponential moving average of the high-low-close mean. This technique filters out noise, making trends and price momentum easier to identify.
In the Line mode, the script displays a simple line chart that connects the smoothed closing prices. This mode is ideal for traders who prefer minimalism or need to focus on the overall trend without the distraction of individual bar details. The Channel mode builds upon this by plotting additional lines representing the highs and lows of each bar. The resulting visualization resembles a price corridor that helps identify support and resistance zones or price compression areas.
The Renko mode introduces a more advanced and noise-filtering method of visualizing price movements. Renko charts, constructed using the ATR (Average True Range) as a baseline, display blocks that represent a specific price range. The script dynamically calculates the size of these blocks based on ATR, with separate thresholds for upward and downward movements. This makes Renko mode particularly effective for identifying sustained trends while ignoring minor price fluctuations. Additionally, the open and close values of Renko blocks can be smoothed to further refine the visualization.
The Bubbles mode represents price activity using circles or bubbles whose size corresponds to relative volume. This mode provides a quick and intuitive way to assess market participation at different price levels. Larger bubbles indicate higher trading volumes, while smaller bubbles highlight periods of lower activity. This visualization is particularly valuable in understanding the relationship between price movements and market liquidity.
The coloring of candles and other chart elements is a core feature of this script. Users can select between two color modes: Normal and Volume. In Normal mode, bullish candles are displayed in the user-defined bullish color, while bearish candles use the bearish color. Neutral elements, such as midpoints or undecided price movements, are shaded with a neutral color. In Volume mode, the candle colors are dynamically adjusted based on trading volume. A gradient color scale is applied, where the intensity of the bullish or bearish colors reflects the volume for that particular bar. This feature allows traders to visually identify periods of heightened activity and associate them with specific price movements.
Engulfing patterns, a popular technical analysis tool, are automatically detected and marked on the chart when the corresponding setting is enabled. The script identifies long engulfing patterns, where the current bar's range completely encompasses the previous bar’s range and indicates a potential bullish reversal. Similarly, short engulfing patterns are identified where the current bar fully engulfs the previous bar in the opposite direction, suggesting a bearish reversal. These patterns are visually highlighted with circular markers to draw the trader’s attention.
Each feature and mode is highly customizable. The colors for bullish, bearish, and neutral movements can be personalized, and the thresholds for patterns or smoothing can be fine-tuned to match specific trading strategies. The script's ability to toggle between various modes makes it adaptable to different market conditions and analysis preferences.
In summary, the Alternative Price script is a comprehensive tool that redefines the way traders view price charts. By offering multiple visualization modes, customizable features, and advanced detection algorithms, it provides a powerful way to uncover market trends, volume relationships, and significant patterns. The recommendation to hide default chart elements ensures that the focus remains on this innovative tool, enhancing its usability and clarity. This script empowers traders to gain deeper insights into market behavior and make informed trading decisions, all while maintaining a clean and visually appealing chart layout.
Keep in mind that some of the modes of this indicator might not reflect the actual closing price of the underlying asset, before opening a trade, check carefully the actual price!
DCA Valuation & Unrealized GainsThis Pine Script for TradingView calculates and visualizes the relationship between a Dollar Cost Average (DCA) price and the All-Time High (ATH) price for over 50 different cryptocurrencies. Here's what it does:
1. Inputs for DCA Prices:
- Users can manually input DCA prices for specific cryptocurrencies (e.g., BTC, ETH, BNB).
2. Dynamic ATH Calculation:
- Dynamically calculates the ATH price for the current asset using the highest price in the chart's loaded data and persists this value across bars.
3. Percentage Change from DCA to ATH:
- Computes the percentage gain from the DCA price to the ATH price.
4. Visualizations:
- Draws a line at the DCA price and the ATH price, both extended to the right.
- Adds an arrow pointing from the DCA price to the ATH, offset by 10 bars into the future.
- Displays labels for:
- The percentage gain from DCA to ATH.
- "No DCA Configured" if no valid DCA price is set for the asset.
5. Color Coding:
- Labels and arrows are color-coded to indicate positive or negative percentage changes:
- Green for gains.
- Red for losses.
6. Adaptability:
- The script dynamically adjusts to the current asset based on its ticker and uses the corresponding DCA price.
This functionality provides traders with clear insights into their investment's performance relative to its ATH, aiding in decision-making.
-----
To add a new asset to the script:
1. Define the DCA Input: Add a new input for the asset's DCA price using the `input.float` function. For example:
dcaPriceNEW = input.float(title="NEW DCA Price", defval=0.1, tooltip="Set the DCA price for NEW")
2. Add the Asset Logic: Include a conditional check for the new asset in the ticker matching logic:
if str.contains(currentAsset, "NEW") and dcaPriceNEW != 0
dcaPrice := dcaPriceNEW
Where NEW is the ticker symbol of the asset you're adding.
NOTE: SOLO had to be put before SOL because otherwise the indicator was pulling the DCA price from SOL even on the SOLO chart. If you have a similar issue, try that fix.
Adding an asset requires only these two changes. Once done, the script dynamically incorporates the new asset into its calculations and visualizations.
Customizable Multi-Timeframe Doji with Ray and Editable LabelScript Overview
Script Name: Customizable Multi-Timeframe Doji Candle Levels with Ray and Editable Label
Purpose: This script helps traders identify significant price levels based on high timeframe Doji candles, allowing them to visualize key areas of support, resistance, entry, and exit. By plotting real-time Doji levels from higher timeframes directly on the current chart, traders can easily spot areas where market indecision or potential trend reversals have previously occurred, making these levels highly relevant for future price action.
How the Script Works
This script detects Doji candles on a selected higher timeframe (e.g., daily, weekly, monthly) and plots a ray at the Doji’s closing level on the current chart. The Doji candle formation, characterized by an open and close that are very close or equal, is often an indicator of market indecision. By identifying these Doji levels from high timeframes, the script provides traders with insight into where strong support and resistance zones may form.
The script continuously monitors and updates the Doji level based on the selected timeframe, ensuring that only the latest detected Doji candle is displayed on the chart, helping traders avoid clutter and focus on the most recent data.
Core Components and Calculations
1 Doji Detection Logic:
-The script calculates the Doji candle formation based on a small body percentage (defined by the C_DojiBodyPercent parameter) and relative symmetry in upper and lower shadows (defined by C_ShadowPercent and C_ShadowEqualsPercent).
-A Doji is considered valid when the open and close prices are nearly equal, and the shadows are symmetric within the defined parameters, indicating indecision.
2 Multi-Timeframe Data Retrieval:
-Using the request.security() function, the script fetches open, high, low, and close prices from the specified higher timeframe. It applies Doji detection logic to this higher timeframe data.
-barmerge.lookahead_on and barmerge.gaps_on ensure real-time updates, so the Doji level is immediately reflected on the chart when detected.
3 Ray and Label Plotting:
-When a Doji candle is detected on the selected timeframe, the script plots a ray at the Doji's close price, extending forward on the chart.
-Customizable options for the ray, including color, width, and style (solid, dotted, or dashed), help traders visually differentiate the Doji levels from other chart elements.
-An editable label can be positioned alongside the ray to denote the Doji level, with customizable text, color, background, and size to provide additional context.
4 Automatic Line and Label Management:
-The script dynamically deletes any previous ray and label when a new Doji is detected. This approach minimizes chart clutter and ensures that only the most recent Doji level from the higher timeframe is displayed.
Customization Options
1 Timeframe Selection:
Users can choose any timeframe (e.g., hourly, daily, weekly, monthly) to display Doji levels based on their specific trading strategy.
2 Ray and Label Appearance:
Ray: Customize color, width, and line style (solid, dotted, dashed) for better visibility and integration with the chart’s theme.
Label: Customize the label text, background color, text color, text size, and position (above, below, left, or right of the ray) for a personalized view.
How to Use This Script
1 Select the Target Timeframe for Doji Detection: Choose a high timeframe (such as daily or weekly) to view Doji-based support/resistance levels.
2 Set Custom Ray and Label Parameters : Adjust the visual aspects of the ray and label to align with your chart setup and make the Doji level stand out.
3 Interpretation of Doji Levels: Use the plotted Doji levels as potential support or resistance zones. Since Doji candles reflect market indecision, they often precede significant price reversals or strong continuation moves. By analyzing these levels, traders can:
- Identify key support/resistance zones based on historical market indecision.
- Set entry and exit levels around these zones to capitalize on potential reversals or
continuations.
-Spot confluence areas where the Doji level aligns with other indicators or technical patterns.
Recommended Chart Setup
For optimal clarity, use this script on a clean chart, free from overlapping indicators. This script is designed to work independently, so avoid layering multiple support/resistance scripts unless essential to avoid clutter. A clean chart helps ensure that Doji levels are readily visible, enabling a clear focus on significant levels relevant to your trading strategy.
Uphorico Candle RangesThis script allows you to see the high and low prices of a specific previous timeframe directly on your TradingView chart. You can choose which previous period to view—previous month, week, day, or last Monday—and the script will plot two horizontal lines for the high and low prices of that period. These lines help you quickly identify key levels based on past performance.
Features of the Script:
1. Select Previous Timeframe: You can choose between:
• Month: Shows the high and low of the previous month.
• Week: Shows the high and low of the previous week.
• Day: Shows the high and low of the previous day.
• Monday: Shows the high and low of the most recent Monday.
2. Line Customization:
• Color: Choose different colors for the high and low lines.
• Thickness: Adjust the line thickness (1–5).
• Style: Choose from solid, dashed, or dotted lines.
3. Touch Source Candle Option:
• If enabled, the lines will start directly at the last candle of the selected timeframe (e.g., at the last candle of the previous month or week).
• If disabled, the lines will start from the current bar and extend to the right.
How It Works:
• The script retrieves the high and low prices from your selected previous timeframe and draws two horizontal lines (one for the high and one for the low).
• These lines provide a quick visual reference for key support and resistance levels based on past periods, making it easier to spot potential price action zones.
This tool is designed to be simple and customizable, helping you analyze past levels and make better trading decisions.
Distance between EMA 50-100/100-150This script calculates and plots the percentage difference between the 50-period, 100-period, and 150-period Exponential Moving Averages (EMA) on a TradingView chart. The aim is to provide a clear visual representation of the market's momentum by analyzing the distance between key EMAs over time.
Key features of this script:
1. EMA Calculation : The script computes the EMA values for 50, 100, and 150 periods and calculates the percentage difference between EMA 50 and 100, and between EMA 100 and 150.
2. Custom Threshold : Users can adjust a threshold percentage to highlight significant divergences between the EMAs. A default threshold is set to 0.1%.
3. Visual Alerts : When the percentage difference exceeds the threshold, a visual marker appears on the chart:
Green Circles for bullish momentum (positive divergence),
Red Circles for bearish momentum (negative divergence),
Diamonds to indicate the first occurrence of new bullish or bearish signals, allowing users to catch fresh market trends.
4. Dynamic Plotting : The script plots two lines representing the percentage difference for each EMA pair, offering a quick and intuitive way to monitor trends.
Ideal for traders looking to gauge market direction using the relationship between multiple EMAs, this script simplifies analysis by focusing on key moving average interactions.
Crypto Divergence from BTCThis script is used to indicate when price action of a crypto coin is diverging significantly from that of BTC.
Explanation of the Script:
Inputs:
roc_length: The period used for calculating the Rate of Change.
ma_length: The period used for the moving average of the ROC.
threshold: The percentage difference that indicates a divergence.
Price Data:
The script retrieves the current asset's price and Bitcoin's price.
ROC Calculation:
The ROC for both the current asset and BTC is calculated based on the defined roc_length.
Moving Averages:
Simple moving averages (SMA) of the ROC values are calculated to smooth out the data.
Divergence Detection:
The indicator checks if the current asset's ROC MA is significantly higher or lower than Bitcoin's ROC MA based on the specified threshold.
Plotting:
The script plots the ROC values and their moving averages.
It also highlights the background in green when a bullish divergence is detected (when the asset is moving up while BTC is lagging) and in red for a bearish divergence.